﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using habilitaciones.core.modelo;
using habilitaciones.controller.bussines;

namespace habilitaciones.web.Models
{
    public class ModeloHabilitaciones
    {
        private List<Ordenes> _lista;
        private string _cnx;
        private HabilitacionController _hController;
        private Ordenes _ordenSel;
        private Vehiculos _vehiculoSel;
        private Personas _personaSel;

        public string Cnx
        {
            get { return _cnx; }
            set { _cnx = value; }
        }

        public HabilitacionController HController
        {
            get
            {
                if (_hController == null)
                    _hController = new HabilitacionController(Cnx);
                return _hController; 
            }
            set { _hController = value; }
        }
        public List<Ordenes> Lista
        {
            get { return _lista; }
            set { _lista = value; }
        }

        public List<Rubros> TraerRubros()
        {
            return HController.TraerRubros();
        }

        public ModeloHabilitaciones(string cnx)
        {
            _cnx = cnx;
        }

        public Ordenes OrdenSeleccionada
        {
            get
            {
                if (_ordenSel == null)
                {
                    _ordenSel = new Ordenes();
                }
                return _ordenSel; }
            set { _ordenSel = value; }
        }

        public Vehiculos VehiculoSeleccionado
        {
            get
            {
                if (_vehiculoSel == null)
                {
                    _vehiculoSel = new Vehiculos();
                }
                return _vehiculoSel;
            }
            set { _vehiculoSel = value; }
        }

        public Personas PersonaSeleccionada
        {
            get
            {
                if (_personaSel == null)
                    _personaSel = new Personas();
                return _personaSel;
            }
            set
            {
                _personaSel = value;
            }
        }

        public List<Ordenes> BuscarHabilitacionPorDocumento(string valor)
        {
            return HController.BuscarHabilitacionPorDocumento(valor);
        }

        public void BuscarVehiculoPorDominio(string dominio)
        {
            this.VehiculoSeleccionado = HController.BuscarVehiculoPorDominio(dominio);
        }

        public List<TiposDocumento> TraerTiposDocumentos()
        {
            return HController.TraerTiposDocumentos();
        }

        public List<Municipios> TraerMunicipios()
        {
            return HController.TraerMunicipios();
        }

        public List<Localidades> TraerLocalidades()
        {
            return HController.TraerLocalidades();
        }

        public void BuscarPersonaPorDocumento(string dni)
        {
            this.PersonaSeleccionada = HController.BuscarPersonaPorDocumento(dni);
        }
    }
}